package xyz.eden.boot.common.web.support.domain.gateway;


import xyz.eden.boot.common.web.support.domain.ability.model.BaseOperate;
import xyz.eden.boot.common.web.support.domain.ability.model.BaseQuery;
import xyz.eden.boot.common.web.support.domain.ability.model.PageInfo;

import java.util.List;

/**
 * BaseQueryGateway
 *
 * @author gavin
 * @version 1.0
 * @descriptor
 * @date 2023/4/29 17:18
 */
public interface BaseQueryGateway<Model extends BaseOperate, Query extends BaseQuery> {

    Model getInfoById(Long id);

    List<Model> getInfoByParam(Query query);

    PageInfo<Model> getPageInfoByParam(int pageNumber, int pageSize, Query query);

}
